#ifndef _STRAWGUI_FONT_PRESET_H_
#define _STRAWGUI_FONT_PRESET_H_

#include "sResourcePreset.h"
#include "sConfig.h"
#include "sNamedObjectContainer.h"
#include "sFont.h"

namespace sgui
{
namespace engine
{
	class sFont;
};
namespace preset
{    
    static const std::wstring PRESET_FONT = L"PFNT";

	class sFontPreset : public sPreset
	{
	private:
		engine::sFont*			m_font;
    private:
        float                   m_size;
        Color                   m_color;

	public:
		const engine::sFont* getFont() const { return m_font; }

        void setSize(const float& size) { m_size = size; }
        const float& getSize() const { return m_size; }
        void setColor(const Color& color) { m_color = color; }
        const Color& getColor() const { return m_color; }
		
		engine::sEngineItem* createEngineItem(engine::sEngine& engine);
		void load(const db::Record &file);
		void save(db::Record &file) const;
        void clear();
        const std::wstring getClass() const { return PRESET_FONT; };

#ifdef _EDITOR
		void exportRTTI(rtti::sInfoList& list);
#endif

		sFontPreset(sGUI&gui, const std::wstring& name, const res::sFontResource& resource);
        ~sFontPreset();
	};

};
};

#endif